package main

import (
	"log"
	"os"
)

func main() {
	//OpenFile 是广义的打开调用； 大多数用户将改用 Open 或 Create。 它打开具有指定标志（O_RDONLY 等）的命名文件。
	//如果文件不存在，并且传递了 O_CREATE 标志，则使用模式 perm（在 umask 之前）创建它。 如果成功，返回的 File 上的方法可用于 I/O。
	//如果有错误，它将是 *PathError 类型。

	//f, err := os.OpenFile("notes.txt", os.O_RDWR|os.O_CREATE, 0755)
	//if err != nil {
	//	log.Fatal(err)
	//}
	//
	//if err := f.Close(); err != nil {
	//	log.Fatal(err)
	//}

	f, err := os.OpenFile("access.log", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
	defer f.Close()
	if err != nil {
		log.Fatal(err)
	}

	f.Write([]byte("appended some data \n"))
}
